﻿using BonjourQuotation.UI.Models.BaseModel;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Web;
using System.Web.WebPages.Html;

namespace BonjourQuotation.UI.Models.PartialModel
{
    public class OperationGroupCheckListGridViewModel : UserAllPermissionsViewModel
    {
        public double GroupCheckListLeftScrollPossition { get; set; }
        public double GroupCheckListTopScrollPossition { get; set; }
        public bool IsGroupCheckListCanView { get; set; }
        public List<OperationGroupCheckListGridRowViewModel> Rows { get; set; }
        public List<SelectListItem> RoomTitles { get; set; }
        public int GroupCheckListPageNumber { get; set; }
        // Group Code filter
        public List<CheckBoxControlViewModel> GroupCheckListFilterGroupCode { get; set; }
        public List<CheckBoxControlViewModel> GroupCheckListFilterSelGroupCode { get; set; }
        public List<string> SelectedGroupCheckListFilterGroupCode { set; get; }
        // Group Name filter
        public List<CheckBoxControlViewModel> GroupCheckListFilterGroupName { get; set; }
        public List<CheckBoxControlViewModel> GroupCheckListFilterSelGroupName { get; set; }
        public List<string> SelectedGroupCheckListFilterGroupName { set; get; }
        // Customer filter
        public List<CheckBoxControlViewModel> GroupCheckListFilterCustomerCode { get; set; }
        public List<CheckBoxControlViewModel> GroupCheckListFilterSelCustomerCode { get; set; }
        public List<string> SelectedGroupCheckListFilterCustomerCode { set; get; }
        // Filter Remove
        public bool IsRemoveGroupCheckListFilterDivShow { set; get; }
        public bool IsRemoveGroupCheckListCustomerCodeFilter { set; get; }
        public bool IsRemoveGroupCheckListGroupCodeFilter { set; get; }
        public bool IsRemoveGroupCheckListGroupNameFilter { set; get; }
        // Hide Show
        public bool ViewGroupCheckListGroupCode { get; set; }
        public bool ViewGroupCheckListGroupName { get; set; }
        public bool ViewGroupCheckListCustomer { get; set; }
        public bool ViewGroupCheckListPax { get; set; }
        public bool ViewGroupCheckListIsGir { get; set; }
        public bool ViewGroupCheckListMonthOfArrival { get; set; }
        public bool ViewGroupCheckListArrivalDate { get; set; }
        public bool ViewGroupCheckListArrivalCity { get; set; }
        public bool ViewGroupCheckListDepartureDate { get; set; }
        public bool ViewGroupCheckListDepartureCity { get; set; }
        public bool ViewGroupCheckListHotelStatus { get; set; }
        public bool ViewGroupCheckListHotelNotes { get; set; }
        public bool ViewGroupCheckListBusGuideNotes { get; set; }
        // for filtering, update, hide show, 
        public bool IsGroupCheckListFilter { set; get; }
        public bool IsGroupCheckListView { set; get; }
        public bool IsGroupCheckListUpdate { set; get; }
        public bool IsGroupCheckListSearch { set; get; }
        // Group Check List Search
        [DisplayName("IsGir:")]
        public List<SelectListItem> IsGir { get; set; }
        public bool? GroupCheckListSearchSelectedIsGir { get; set; }
        [DisplayName("Customer:")]
        public string GroupCheckListSearchCustomer { get; set; }
        [DisplayName("Group Name:")]
        public string GroupCheckListSearchGroupName { get; set; }
        [DisplayName("Group Code:")]
        public string GroupCheckListSearchGroupCode { get; set; }
    }
    [Serializable]
    public class OperationGroupCheckListGridRowViewModel
    {
        public string GroupCheckListGroupCode { get; set; }
        public string GroupCheckListGroupName { get; set; }
        public string GroupCheckListCustomer { get; set; }
        public string GroupCheckListPax { get; set; }
        public string GroupCheckListArrivalDate { get; set; }
        public string GroupCheckListArrivalCity { get; set; }
        public string GroupCheckListDepartureDate { get; set; }
        public string GroupCheckListDepartureCity { get; set; }
        public string GroupCheckListIsGir { get; set; }
        public string GroupCheckListMonthOfArrival { get; set; }
        public string GroupCheckListHotelStatus { get; set; }
        public string GroupCheckListHotelNotes { get; set; }
        public string GroupCheckListBusGuideNotes { get; set; }
         
    }
   
}